<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Field Capabilities API | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'search-field-caps.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/search-field-caps.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/search-field-caps.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/search-field-caps.html" rel="nofollow" target="_blank">../en/search-field-caps.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch Guide [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="rest-apis.html">REST APIs</a></span>
»
<span class="breadcrumb-link"><a href="search.html">Search APIs</a></span>
»
<span class="breadcrumb-node">Field Capabilities API</span>
</div>
<div class="navheader">
<span class="prev">
<a href="search-profile.html">« Profile API</a>
</span>
<span class="next">
<a href="search-rank-eval.html">Ranking Evaluation API »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="search-field-caps"></a>Field Capabilities API<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h2>
</div></div></div>
<p>Allows you to retrieve the capabilities of fields among multiple indices.</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET /_field_caps?fields=rating</pre>
</div>
<div class="console_widget" data-snippet="snippets/2050.console"></div>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-request"></a>Request<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<p><code class="literal">GET /_field_caps</code></p>
<p><code class="literal">POST /_field_caps</code></p>
<p><code class="literal">GET /&lt;index&gt;/_field_caps</code></p>
<p><code class="literal">POST /&lt;index&gt;/_field_caps</code></p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-desc"></a>Description<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<p>The field capabilities API returns the information about the capabilities of
fields among multiple indices.</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-path-params"></a>Path parameters<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">&lt;index&gt;</code>
</span>
</dt>
<dd>
(Optional, string) Comma-separated list or wildcard expression of index names
used to limit the request.
</dd>
</dl>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-query-params"></a>Query parameters<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">allow_no_indices</code>
</span>
</dt>
<dd>
<p>
(Optional, boolean) If <code class="literal">true</code>,
the request does <span class="strong strong"><strong>not</strong></span> return an error
if a wildcard expression
or <code class="literal">_all</code> value retrieves only missing or closed indices.
</p>
<p>This parameter also applies to <a class="xref" href="indices-aliases.html" title="Update index alias API">index aliases</a>
that point to a missing or closed index.</p>
<p>Defaults to <code class="literal">true</code>.</p>
</dd>
<dt>
<span class="term">
<code class="literal">expand_wildcards</code>
</span>
</dt>
<dd>
<p>(Optional, string) Controls what kind of indices that wildcard expressions can
expand to. Multiple values are accepted when separated by a comma, as in
<code class="literal">open,hidden</code>. Valid values are:</p>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">all</code>
</span>
</dt>
<dd>
Expand to open and closed indices, including <a class="xref" href="index-modules.html#index-hidden">hidden indices</a>.
</dd>
<dt>
<span class="term">
<code class="literal">open</code>
</span>
</dt>
<dd>
Expand only to open indices.
</dd>
<dt>
<span class="term">
<code class="literal">closed</code>
</span>
</dt>
<dd>
Expand only to closed indices.
</dd>
<dt>
<span class="term">
<code class="literal">hidden</code>
</span>
</dt>
<dd>
Expansion of wildcards will include <a class="xref" href="index-modules.html#index-hidden">hidden indices</a>.
Must be combined with <code class="literal">open</code>, <code class="literal">closed</code>, or both.
</dd>
<dt>
<span class="term">
<code class="literal">none</code>
</span>
</dt>
<dd>
Wildcard expressions are not accepted.
</dd>
</dl>
</div>
<p>Defaults to <code class="literal">open</code>.</p>
</dd>
<dt>
<span class="term">
<code class="literal">fields</code>
</span>
</dt>
<dd>
<p>(Optional, string)
Comma-separated list or wildcard expressions of fields
to include in the statistics.</p>
<p>Used as the default list
unless a specific field list is provided
in the <code class="literal">completion_fields</code> or <code class="literal">fielddata_fields</code> parameters.</p>
</dd>
<dt>
<span class="term">
<code class="literal">ignore_unavailable</code>
</span>
</dt>
<dd>
(Optional, boolean) If <code class="literal">true</code>, missing or closed indices are not included in the
response. Defaults to <code class="literal">false</code>.
</dd>
<dt>
<span class="term">
<code class="literal">include_unmapped</code>
</span>
</dt>
<dd>
(Optional, boolean) If <code class="literal">true</code>, unmapped fields are included in the response.
Defaults to <code class="literal">false</code>.
</dd>
</dl>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-response-body"></a>Response body<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<code class="literal">searchable</code>
</span>
</dt>
<dd>
Whether this field is indexed for search on all indices.
</dd>
<dt>
<span class="term">
<code class="literal">aggregatable</code>
</span>
</dt>
<dd>
Whether this field can be aggregated on all indices.
</dd>
<dt>
<span class="term">
<code class="literal">indices</code>
</span>
</dt>
<dd>
The list of indices where this field has the same type, or null if all indices
have the same type for the field.
</dd>
<dt>
<span class="term">
<code class="literal">non_searchable_indices</code>
</span>
</dt>
<dd>
The list of indices where this field is not searchable, or null if all indices
have the same definition for the field.
</dd>
<dt>
<span class="term">
<code class="literal">non_aggregatable_indices</code>
</span>
</dt>
<dd>
The list of indices where this field is not aggregatable, or null if all
indices have the same definition for the field.
</dd>
<dt>
<span class="term">
<code class="literal">meta</code>
</span>
</dt>
<dd>
Merged metadata across all indices as a map of string keys to arrays of values.
A value length of 1 indicates that all indices had the same value for this key,
while a length of 2 or more indicates that not all indices had the same value
for this key.
</dd>
</dl>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="search-field-caps-api-example"></a>Examples<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/search/field-caps.asciidoc">edit</a>
</h3>
</div></div></div>
<p>The request can be restricted to specific indices:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET twitter/_field_caps?fields=rating</pre>
</div>
<div class="console_widget" data-snippet="snippets/2051.console"></div>
<p>The next example API call requests information about the <code class="literal">rating</code> and the
<code class="literal">title</code> fields:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET _field_caps?fields=rating,title</pre>
</div>
<div class="console_widget" data-snippet="snippets/2052.console"></div>
<p>The API returns the following response:</p>
<div class="pre_wrapper lang-console-result">
<pre class="programlisting prettyprint lang-console-result">{
    "indices": ["index1", "index2", "index3", "index4", "index5"],
    "fields": {
        "rating": { <a id="CO641-1"></a><i class="conum" data-value="1"></i>
            "long": {
                "searchable": true,
                "aggregatable": false,
                "indices": ["index1", "index2"],
                "non_aggregatable_indices": ["index1"] <a id="CO641-2"></a><i class="conum" data-value="2"></i>
            },
            "keyword": {
                "searchable": false,
                "aggregatable": true,
                "indices": ["index3", "index4"],
                "non_searchable_indices": ["index4"] <a id="CO641-3"></a><i class="conum" data-value="3"></i>
            }
        },
        "title": { <a id="CO641-4"></a><i class="conum" data-value="4"></i>
            "text": {
                "searchable": true,
                "aggregatable": false

            }
        }
    }
}</pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO641-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The field <code class="literal">rating</code> is defined as a long in <code class="literal">index1</code> and <code class="literal">index2</code>
and as a <code class="literal">keyword</code> in <code class="literal">index3</code> and <code class="literal">index4</code>.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO641-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>The field <code class="literal">rating</code> is not aggregatable in <code class="literal">index1</code>.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO641-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>The field <code class="literal">rating</code> is not searchable in <code class="literal">index4</code>.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO641-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>The field <code class="literal">title</code> is defined as <code class="literal">text</code> in all indices.</p>
</td>
</tr>
</table>
</div>
<p>By default unmapped fields are ignored. You can include them in the response by
adding a parameter called <code class="literal">include_unmapped</code> in the request:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET _field_caps?fields=rating,title&amp;include_unmapped</pre>
</div>
<div class="console_widget" data-snippet="snippets/2053.console"></div>
<p>In which case the response will contain an entry for each field that is present
in some indices but not all:</p>
<div class="pre_wrapper lang-console-result">
<pre class="programlisting prettyprint lang-console-result">{
    "indices": ["index1", "index2", "index3"],
    "fields": {
        "rating": {
            "long": {
                "searchable": true,
                "aggregatable": false,
                "indices": ["index1", "index2"],
                "non_aggregatable_indices": ["index1"]
            },
            "keyword": {
                "searchable": false,
                "aggregatable": true,
                "indices": ["index3", "index4"],
                "non_searchable_indices": ["index4"]
            },
            "unmapped": { <a id="CO642-1"></a><i class="conum" data-value="1"></i>
                "indices": ["index5"],
                "searchable": false,
                "aggregatable": false
            }
        },
        "title": {
            "text": {
                "indices": ["index1", "index2", "index3", "index4"],
                "searchable": true,
                "aggregatable": false
            },
            "unmapped": { <a id="CO642-2"></a><i class="conum" data-value="2"></i>
                "indices": ["index5"]
                "searchable": false,
                "aggregatable": false
            }
        }
    }
}</pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO642-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">rating</code> field is unmapped` in <code class="literal">index5</code>.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO642-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">title</code> field is unmapped` in <code class="literal">index5</code>.</p>
</td>
</tr>
</table>
</div>
</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="search-profile.html">« Profile API</a>
</span>
<span class="next">
<a href="search-rank-eval.html">Ranking Evaluation API »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>